package com.woniu113.junk.user.service;



import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.woniu113.junk.user.Param.userInfo.*;
import com.woniu113.junk.user.dto.SFRZDTO;
import com.woniu113.junk.user.dto.userinfo.FindUserInfoDTO;
import com.woniu113.junk.user.model.UserInfo;
import com.baomidou.mybatisplus.extension.service.IService;



/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 蜡笔没了小新
 * @since 2024年10月16日
 */
public interface UserInfoService extends IService<UserInfo> {

    void disableAccount(Integer userId);

    void enableAccount(Integer userId);

    void deleteAccount(Integer userId);

    void addIntegralById(IntegralParam param);

    void reduceIntegralById(IntegralParam param);

    void addScore(ScoreParam param);

    void reduceScore(ScoreParam param);

    void userCheckOldPassword(UserPasswordParam param) throws Exception;

    void userUpdatePassword(UserPasswordParam param) throws Exception;

    UserInfo adminLog(UserLogParam param) throws Exception;

    void updateUserHeaderImg(UserHeaderImgParam param) throws Exception;

    void sendRegisterCode(String phoneNumber) throws Exception;

    void addUserInfo(AddUserInfoParam param) throws Exception;

    void sendLoginCode(String phoneNumber) throws Exception;

    UserInfo userCodeLogin(UserCodeLoginParam param) throws Exception;

    void updateUser(UserNikeNameParam param);

    void sendUpCode(String phoneNumber) throws Exception;

    void upUserPhone(UserUpPhoneParam param) throws Exception;

//    Page<UserInfo> findAll(UserFdAllParam param);

    SFRZDTO realNameAuthentication(RealNameAuthenticationParam param) throws Exception;

    UserInfo userInfo(int userId);

    FindUserInfoDTO findAll(UserFdAllParam param, int offset);
}
